package be.vdab.personeel;
import java.io.*;

import be.vdab.util.*;





public abstract class Werknemer implements Comparable<Werknemer>,Serializable{
	//parameters
	private int personeelsNr;
	private WerknemersDatum datumInDienst;
	private String naam;
	
	//getters, setters
	public int getPersoneelsNr() {
		return personeelsNr;
	}
	public void setPersoneelsNr(int personeelsNr) {
		this.personeelsNr = personeelsNr;
	}
	public WerknemersDatum getDatumInDienst() {
		return datumInDienst;
	}
	public void setDatumInDienst(WerknemersDatum datumInDienst) {
		this.datumInDienst = datumInDienst;
	}
	public String getNaam() {
		return naam;
	}
	public void setNaam(String naam) {
		this.naam = naam;
	}
	
	//default
	public Werknemer(){
		personeelsNr = -1;
		naam="nog niet ingevuld";
	}
	
	public Werknemer(int persNr, WerknemersDatum datum, String naam){
		this.personeelsNr=persNr;
		this.datumInDienst=datum;
		this.naam=naam;
		
	}
	
	@Override
	public String toString(){
		return datumInDienst+"\t"+personeelsNr+"\t"+naam;
	}
	
	@Override
	public final int compareTo(Werknemer o) {
		// TODO Auto-generated method stub
		//System.out.printf("this = %d, o = %d\n",datumInDienst.hashCode(),o.hashCode());
		return o.datumInDienst.hashCode() -datumInDienst.hashCode() ;
	}
	
	public abstract double getVerloning();
	
	
	
	
	
	
	
	
}
